#define _CRT_SECURE_NO_WARNINGS 1

//class Solution {
//public:
//    vector<vector<int>> ans;
//    vector<int> path;
//
//    void DFS(vector<vector<int>>& graph, int start, int target) {
//        if (start == target) {
//            ans.push_back(path);
//            return;
//        }
//
//        for (int i = 0; i < graph[start].size(); i++) {
//            path.push_back(graph[start][i]);
//            DFS(graph, graph[start][i], target);
//            path.pop_back();
//        }
//    }
//
//    vector<vector<int>> allPathsSourceTarget(vector<vector<int>>& graph) {
//        path.push_back(0);
//        int target = graph.size() - 1;
//        DFS(graph, 0, target);
//        return ans;
//    }
//};